跳到主要内容

使用分类器(单 ROI 示例)

本教程将引导您在 OV20i 摄像头系统上创建第一个分类模型。您将学习如何设置单个感兴趣区域(ROI)分类器,以自动识别和分类不同类型的物体——本例中为不同尺寸的钻头。

您将构建的内容: 一个可正常工作的分类模型,能够自动识别和分类不同尺寸的钻头,并具有可配置的合格/不合格逻辑。

预计时间: 45-60 分钟

技能等级: 初学者

先决条件: 已设置并连接 OV20i 摄像头系统

步骤 1:创建新的分类配方

1.1 访问配方创建

  1. 导航至 OV20i 界面中的所有配方页面
  2. 点击右上角的 + New Recipe

1.2 配置配方设置

将弹出 添加新配方 模态窗口:

  1. 输入配方名称: 使用描述性名称,如 "Drill_Bit_Classification_v1"
    • 命名提示: 包含对象类型和版本号,便于识别
  2. 选择配方类型: 从下拉菜单中选择 "Classification"
  3. 点击 OK 创建配方

1.3 激活配方

  1. 在所有配方列表中找到新配方(状态显示为“Inactive”)
  2. 点击配方条目右侧的 Actions > Activate
  3. 点击 Activate 确认

检查点: 配方列表中您的配方应显示为“Active”。

步骤 2:访问配方编辑器

2.1 进入编辑模式

  1. 点击活动配方旁的 Edit
  2. 点击 Open Editor 确认并启动配方编辑器

您将看到包含多个配置部分的配方编辑器界面。

步骤 3:配置相机成像设置

3.1 打开成像配置

  1. 点击配方编辑器左下角的 Configure Imaging

3.2 调整焦点设置

焦点对准确分类至关重要:

  1. 将钻头放置在相机视野内
  2. 使用以下方式调整焦点:
    • 滑块控制,或
    • 手动输入数值
  3. 测试不同焦点位置,直到钻头边缘清晰锐利

焦点提示:

  • 使用实时预览实时查看焦点变化
  • 聚焦于最重要的特征(钻头螺旋槽、尖端几何形状)
  • 确保物体的整个深度均处于焦点范围内

3.3 优化曝光设置

适当曝光确保图像质量一致:

  1. 使用滑块或手动输入调整曝光
  2. 目标是实现均衡照明,确保:
    • 物体细节清晰可见
    • 无过曝区域(纯白)
    • 阴影不遮挡重要特征

3.4 配置 LED 照明

照明对分类准确性影响显著:

  1. 根据物体选择 LED 灯光模式:
    • Bright Field(明场): 通用照明
    • Dark Field(暗场): 突出边缘和表面缺陷
    • Side Lighting(侧光): 显示纹理和高度变化
  2. 针对钻头,建议:
    • 明场 用于一般形状分类
    • 侧光 强调螺旋槽几何形状

3.5 调整 Gamma 设置

Gamma 控制图像对比度:

  1. 调整 Gamma 以增强特征可见性
  2. 较低数值 使暗部变亮
  3. 较高数值 增强对比度

3.6 保存成像设置

  1. 在实时预览中检查所有设置
  2. 点击 Save Imaging Settings 应用配置

检查点: 您的相机应能生成一致且光线均匀的钻头图像。

步骤 4:配置模板图像和对齐

4.1 进入对齐设置

  1. 点击面包屑菜单中的“Template Image and Alignment”,或
  2. 使用下拉菜单选择“Template Image and Alignment”

4.2 本教程跳过对齐器

由于钻头放置位置一致:

  1. 选择 Skip Aligner
  2. 点击 Save 应用更改

何时使用对齐器: 当零件位置或方向不一致时使用对齐器。本教程假设零件放置一致。

步骤 5:设置检测 ROI

5.1 进入检测设置

  1. 点击面包屑菜单中的“Inspection Setup”

5.2 定义感兴趣区域(ROI)

ROI 定义了分类的检测区域:

  1. 将钻头放置在相机视野内
  2. 拖动 ROI 角点框选钻头
  3. 确保 ROI:
    • 完全包含钻头
    • 排除不必要背景
    • 足够大以覆盖最大尺寸钻头

5.3 ROI 最佳实践

应做不应做
包含所有重要特征ROI 过大(包含噪声)
在物体周围留小边界截断物体部分
居中预期物体位置在一个 ROI 中包含多个物体
保持图像间 ROI 大小一致捕获时更改 ROI

5.4 保存 ROI 配置

  1. 用不同尺寸钻头验证 ROI 位置
  2. 点击 Save 应用 ROI 设置

检查点: ROI 应能稳定框选不同尺寸的钻头。

步骤 6:训练分类模型

6.1 进入分类模块

  1. 点击面包屑菜单中的“Classification Block”

6.2 创建分类类别

为不同钻头尺寸创建类别:

示例类别:

  • Small Bits(1-3mm)
  • Medium Bits(4-6mm)
  • Large Bits(7-10mm)

6.3 捕获训练图像

每个类别至少采集 5 张不同图像:

类别 1:Small Bits

  1. 将小钻头放入 ROI
  2. 点击捕获 拍摄训练图像
  3. 标记图像 为 "Small"
  4. 重复采集 4 张不同方向/位置的小钻头图像

类别 2:Medium Bits

  1. 将中钻头放入 ROI
  2. 捕获并标记 为 "Medium"
  3. 重复采集 4 张不同中钻头图像

类别 3:Large Bits

  1. 将大钻头放入 ROI
  2. 捕获并标记 为 "Large"
  3. 重复采集 4 张不同大钻头图像

6.4 训练图像最佳实践

最佳实践重要原因
使用不同样本提高模型泛化能力
多角度变化适应实际定位变化
包含边界案例改善类别边界识别
保持光照一致减少光照依赖误差
至少 5 张图像提供充足训练数据

6.5 审核和验证标签

  1. 仔细检查所有标记图像
  2. 确保类别分配正确
  3. 删除错误标记的样本

6.6 开始模型训练

  1. 点击 Train Classification Model
  2. 选择训练模式:
    • Fast(快速): 测试用,训练时间 2-5 分钟
    • Accurate(准确): 生产级训练,10-20 分钟
  3. 选择迭代次数:
    • 迭代次数越多,准确率越高
    • 迭代次数越多,训练时间越长
  4. 点击 Start Training

6.7 监控训练进度

训练进度窗口显示:

  • 当前迭代次数
  • 训练准确率百分比
  • 预计完成时间

训练控制:

  • Abort Training(中止训练): 如有需要可停止训练
  • Finish Training Early(提前结束训练): 达到满意准确率时停止

训练提示:

  • 达到目标准确率时训练自动停止
  • 85% 以上准确率通常适合生产使用
  • 准确率低时可添加更多图像重新训练

检查点: 模型应达到 >85% 的训练准确率。

步骤 7:测试分类器

7.1 访问实时预览

  1. 训练完成后点击 Live Preview
  2. 将不同钻头放入 ROI
  3. 观察分类结果:
    • 预测类别名称
    • 置信度百分比
    • 分类耗时

7.2 验证测试

系统测试每个类别:

测试类型预期结果失败时操作
已知小钻头分类为 "Small",置信度 >80%添加更多训练图像
已知中钻头分类为 "Medium",置信度 >80%检查标签准确性
已知大钻头分类为 "Large",置信度 >80%重新训练,增加样本
空 ROI无分类或置信度低调整置信度阈值

7.3 分类问题排查

问题可能原因解决方案
置信度低训练数据不足添加更多训练图像
分类错误图像质量差改善照明/焦点
结果不稳定ROI 包含背景噪声缩小 ROI 范围
类别混淆物体外观相似添加更多区分样本

步骤 8:配置合格/不合格逻辑

8.1 进入 IO 模块

确保所有 AI 模块均已训练完成(绿色状态)后继续:

  1. 点击面包屑菜单中的 “IO Block”,或
  2. 在配方编辑器中选择 “Configure I/O”

8.2 找到分类逻辑节点

  1. 找到“Classification Block Logic Node”(紫色节点)
  2. 若缺失: 从左侧节点菜单拖入

节点颜色说明: 紫色节点代表 Overview 逻辑块,用于 AI 操作。

8.3 配置分类逻辑

  1. 双击分类逻辑节点
  2. 配置设置:

ROI 选择

  • 从“Inspection Region”下拉菜单选择您的 ROI

置信度阈值

  • 设置置信度阈值(通常 70-85%)
  • 阈值越高,分类越严格
  • 阈值越低,分类越宽松

目标类别选择

  • 选择“通过”结果的目标类别
  • 示例: 若仅允许中钻头通过,选择 "Medium"

多 ROI 逻辑(高级)

  • 可添加更多 ROI
  • 选择逻辑规则: “Any”(任一)或 “All”(全部)必须通过

8.4 合格/不合格配置示例

配置 1:特定尺寸通过

ROI: Drill_Bit_ROI
Target Class: Medium
Confidence: 80%
Logic: 仅允许中钻头通过

配置 2:尺寸范围通过

ROI: Drill_Bit_ROI
Target Classes: Medium OR Large
Confidence: 75%
Logic: 中钻头或大钻头通过

配置 3:拒绝小钻头

ROI: Drill_Bit_ROI
Target Class: NOT Small
Confidence: 85%
Logic: 分类为小钻头时判定不合格

8.5 部署逻辑配置

  1. 点击右上角的 Done
  2. 点击 Node-RED 编辑器右上角的 Deploy
  3. 确认部署成功消息

步骤 9:最终测试与验证

9.1 端到端测试

测试完整检测流程:

  1. 将测试物体放入检测区域
  2. 触发检测(手动或自动)
  3. 验证结果:
    • 显示正确分类
    • 正确的合格/不合格指示
    • 稳定的响应时间

9.2 生产验证清单

测试用例预期结果
目标类别物体合格结果
非目标类别物体不合格结果
空 ROI不合格结果
部分遮挡物体置信度合理
光照条件差性能稳定

9.3 性能优化

若结果不理想:

  1. 添加更多训练图像(尤其边界案例)
  2. 调整置信度阈值
  3. 改善光照一致性
  4. 优化 ROI 位置
  5. 使用“Accurate”模式重新训练

恭喜!

您已成功创建第一个分类模型!您的 OV20i 系统现在可以:

  • 自动识别 不同尺寸的钻头
  • 基于分类结果应用合格/不合格逻辑
  • 提供每次分类的置信度分数
  • 通过 I/O 控制集成生产流程

下一步

掌握单 ROI 分类后,您可以探索:

高级分类技术

  • 多 ROI 分类 处理复杂零件
  • 分层分类 实现细致分类
  • 组合检测(分类 + 缺陷检测)

生产集成

  • PLC 通信 实现自动分拣
  • 数据记录 用于质量追踪
  • 配方管理 支持多产品线

模型优化

  • 迁移学习 适用于相似产品
  • 主动学习 持续改进模型
  • 性能监控 与定期重训练计划

🔗 另请参阅

故障排除指南

常见问题及解决方案

问题症状解决方案
准确率低分类频繁错误添加更多多样化训练图像
性能缓慢处理时间长缩小 ROI,优化照明
结果不一致同一物体结果不同改善零件定位,检查焦点
误报空 ROI 显示分类提高置信度阈值
训练失败模型无法成功训练检查图像质量,确保每类至少 5 张图像

寻求帮助

如果遇到本教程未涵盖的问题:

  1. 查阅文档中的故障排除指南
  2. 查看系统日志中的错误信息
  3. 联系 Overview 支持,提供:
    • 配方导出文件
    • 显示问题的样本图像
    • 系统配置信息

教程完成! 您现在拥有一个可用于生产的分类系统。请定期验证性能,并根据需要重新训练模型,以保持准确性。